// Vuex仓库 - 用来保存共享的数据（Vue Cli自动生成了架构）
import Vue from 'vue'
import Vuex from 'vuex'
// 导入地区数据
import areaList from '@/utils/area.js'

Vue.use(Vuex)
// 导出Vuex实例的仓库
export default new Vuex.Store({
  // 保存的数据（状态）
  state: {
    userInfo: {}, // 用户信息
    isLogin: false // 是否登陆了
  },
  // 修改数据（状态变更）
  mutations: {
    // 更新用户信息（全部）
    CHANGEUSERINFO (state, newUserInfo) { // 参数二-修改的新数据
      state.userInfo = newUserInfo
    },
    // 更新指定信息（单个）
    CHANGEONE (state, newInfo) {
      state.userInfo[newInfo.infoName] = newInfo.infoValue
    },
    // 修改登录状态
    CHANGEISLOGIN (state, isLogin) {
      state.isLogin = isLogin
    }
  },
  // Vuex的计算属性
  getters: {
    // 头像地址-拼接
    avatarUrl (state) {
      return process.env.VUE_APP_URL + state.userInfo.avatar
    },
    // 性别
    genderText (state) {
      const gender = {
        0: '未知',
        1: '靓仔',
        2: '靓妹'
      }
      return gender[state.userInfo.gender]
    },
    // 城市
    areaText (state) {
      return areaList.city_list[state.userInfo.area]
    }
  },
  actions: {
  },
  modules: {
  }
})
